package com.zifan.sever.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zifan.sever.bean.Employee;
import com.zifan.sever.utils.RespBean;
import com.zifan.sever.utils.RespPageBean;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zifan
 * @since 2021-04-10
 */
public interface IEmployeeService extends IService<Employee> {

    /**
     * 获取员工列表，并进行分页
     * @param currentPage 当前页
     * @param size 一页几条
     * @param employee 员工对象 为了查询
     * @param beginDateScope 日期范围，是个数组
     * @return
     */
    RespPageBean getEmployeesWithPage(Integer currentPage, Integer size, Employee employee, LocalDate[] beginDateScope);

    /**
     * 不分页获取所有员工列表
     * @param id 如果不传测查全部，传了则根据id查询
     * @return
     */
    List<Employee> getEmployees(Integer id);

    /**
     * 获取工号
     * @return
     */
    RespBean getmaxWorkID();

    /**
     * 添加员工
     * @param employee
     * @return
     */
    RespBean addEmp(Employee employee);

    /**
     * 导出员工列表
     * @param response
     */
    void exportEmp(HttpServletResponse response);

    /**
     * 导入员工列表
     * @param file
     * @return
     */
    RespBean importEmp(MultipartFile file);

    /**
     * 分页获取所有的员工带着套账
     * @param currentPage
     * @param size
     * @return
     */
    RespPageBean getEmpWithSalary(Integer currentPage, Integer size);
}
